Commit Graph

371 Commits

Author SHA1 Message Date
Blake Grotewold cc18daa111 Merge pull request #463 from AndySky21/Take-everything-bug
Take-everything bug
2016-03-19 14:55:55 -04:00
Blake Grotewold 3d8e07510f Merge pull request #462 from AndySky21/mapBug
Map bug fix
2016-03-19 14:55:42 -04:00
Elizabeth Donohew 41293d48a8 Rewrote a couple of the descriptions that I added before for the tools. 2016-02-24 00:03:28 -06:00
Elizabeth Donohew 9083a9582c Hovering over a tool on the path tab now gives a small description on how the tool can be used. 2016-02-23 22:40:04 -06:00
Elizabeth Donohew 4d9890f2ef Renamed total to currentBagCapacity in the updateOutfitting method and extracted some functionality into a method called updateBagSpace. 2016-02-23 21:07:21 -06:00
Elizabeth Donohew 7efe142637 Shows the damage that a weapon deals only when hovering over a weapon on the path tab. 2016-02-23 20:46:19 -06:00
Andrea Rendine a3b1fea424 Method and property fix
World.testMap() sets World.seenAll. The latter is true when the whole map has been explored.
World.testMap() is called:

* on world init
* on return home (when the map is updated)
* on applyMap() (when the map is bought from the scout)
2016-02-20 13:17:45 +01:00
Andrea Rendine 189af75c31 Correct changes
Limited subset of commits:
* unified function for healing (Events.doHeal);
* unified function for attacks (Events.damage);
* check if health is max, and disable healing buttons (Events.setHeal and related calls)
* grouping buttons (attackButtons, healButtons and exitButtons for weapon attacks, meat & meds, continue/leave)
2016-02-17 15:22:13 +01:00
Andrea Rendine 368529f024 Reverted changes
Revert to previous version (no pause)
2016-02-17 15:07:26 +01:00
Andrea Rendine 68732ce0d9 Reverted changes
Revert to previous version
2016-02-17 14:16:39 +01:00
Andrea Rendine df63ccb651 Switch cooldown
Easy way to switch cooldown on pause button according to new button option
2016-02-17 10:27:38 +01:00
Andrea Rendine ac34b717d3 Forcing cooldown
Added an option.
Button.cooldown(btn, X) where X is a number, forces a one-time cooldown of X seconds for btn.
2016-02-17 10:19:32 +01:00
Andrea Rendine 07998376e7 Several changes
As some of them are related to each other, this commit involves a lot of updates.

* Autopause on blur. This is an idea I took from Gridland (!), if window loses focus the fight pauses (timed check courtesy of the enemy), and it restarts when the window has focus again (if the pause button is clicked, then the player must click again in order to resume).
* Delayed start for fights. This will allow players to read the description without the player attacking them. No way to cheat, buttons are not enabled. I used Events._LEAVE_COOLDOWN as cooldown time, not for laziness, but because I guess the two durations have the same purpose: to allow (force) the player to read stuff.
* Take everything and leave just by name. If the player can just take something, the text is "take all you can", if they can take everything but there are several options it's "take everything", if the option is only one the text is "take everything and X", where X is the verb of the only possible option (note: in the latter case, the button cools down together with the option itself).
* success/failure mechanics no longer relies upon try/catch, but on a simple mechanism: a variable taking a bool value, set to true when one of the end conditions happens. The precedence goes to the enemy (if the player kills and dies the fight is lost).
2016-02-17 01:53:21 +01:00
Andrea Rendine aae770c5a1 Timing for winning and efficiency 2016-02-16 11:02:10 +01:00
Andrea Rendine 24e744a27e Heal when necessary
Events.setHeal() enables/disables eatMeat and useMeds buttons depending on player's HP.
The check is done in 4 cases:

* when a fight starts
* after an attack
* after healing
* in the loot screen
2016-02-16 03:02:45 +01:00
Andrea Rendine aa62b7f9be Buttons positioning 2
The last 2 remainings from original structure
2016-02-16 02:58:51 +01:00
Andrea Rendine bf7472ba37 Buttons positioning
Residual structure fixed.
2016-02-16 02:56:44 +01:00
Andrea Rendine def892953a Cooldown time from graphics
Not a problem of precision, but a width measurement issue. Fixed and restored to previous precision level.
2016-02-16 00:27:44 +01:00
Andrea Rendine 091929cf90 Cleanup
Events.damage method now groups all common lines for Events.animateRanged and Events.animateMelee.
Balance between success and failure is now determined by Events.lost. It is set to "true" when the player is killed and prevents Events.winFight() altogether.
Events.endFight() groups the 2 consistent actions in winFight and loseFight, i.e., pause unsetting and stopping the enemy.
Completely renewed trap method: instead of relying on a separate counter, enemy.data('stunned') now returns the number of remaining seconds of stunning. Enemy's timed attack decreases this value by the attack delay time (the enemy fights for its freedom).
2016-02-16 00:26:23 +01:00
AndySky21 6ace681a91 Pause during fight
This commit adds a pause button during the fight. It relies upon the new
Events.paused property: when set to true, no buttons will work except
the pause button itself, and cooldown on attack/healing buttons is
interrupted.
This commit also groups event buttons in different groups (attack,
healing, scene), so that the position of "eat meat" and "use meds" does
not depend on how many scene buttons are present (sometimes 1, other
times 2)
2016-02-15 21:04:02 +01:00
Andrea Rendine 59e71232d4 Minor fixes
For code consistency: in updateSupplies, num is forced to never be greater than have, so the "greater or equal" comparison is pointless
Increase buttons reactivate when total store quantity is greater than supplies.
Also, removed useless nesting of Math.min.
2016-02-15 10:41:42 +01:00
Andrea Rendine 4bd00fa328 No check on null stores
Unlike other stuff, stores in the side box never disappear during the game when they reach 0, once they've been "seen" (i.e., once State stores[store] has been set). But on reload they appear only if the quantity is positive.
For the sake of consistency, now null stores are visible on load (see what you're missing, bro).
2016-02-14 21:24:43 +01:00
Andrea Rendine d295ca9aa5 Take all and what?
The change is somehow linguistic, rather than anything else.
"Take everything and leave" changes name and becomes "Take everything and X", where X is the verb of the command it impersonates.
This way after completing mines e.g. it is "Take everything and continue", acting like "continue" button.
It now also cools down if it impersonates a "leave" button (leave buttons cool down. IDK why).
2016-02-14 21:00:04 +01:00
Andrea Rendine 28cdca6003 Update world map on return
World.seenAll must be updated only when committing state changes (i.e., on return home safe), not during exploration.
2016-02-14 16:09:15 +01:00
Andrea Rendine 3b66f5cad5 Buy map when needed
Buy map button availability depends on the fact that there are still unexplored parts of the map.
2016-02-14 15:54:59 +01:00
Andrea Rendine bee221093e Apply useful maps
Maps cost! Let's apply them where necessary.
World.testMap() checks if there's still something to explore.
World.seenAll is true when everything has been seen. It is updated by uncoverMap().
World.applyMap() chooses a random center, with the conditions that 

1. there's still something to explore
1. the center itself is an undiscovered area.

Buy Map is active only when a map is still useful.
2016-02-14 15:47:38 +01:00
Andrea Rendine f1656f9a4f Buy map when needed
Maps cost! And casual gamers could possibly forget whether they've explored everything.
The Buy map button is now disabled if the whole map has been seen (yes, even a single uncovered tile is enough).
2016-02-14 13:46:26 +01:00
Andrea Rendine 3e51471b0b Remove State outfit on death
Supplies are not removed from state when embarking, so they remain in place in case the game is closed during exploration. So it now happens in case of death, along with Path.outfit reset.
2016-02-14 11:53:29 +01:00
Andrea Rendine 2c2490290c Leave outfit in place
It seems counterintuitive for players that, if the game is closed while exploring, everything remains unchanged but supplies are lost. I had to choose between cooling down Embark, thus making it explicit that it's as if the player had died, or leave supplies in place. I chose the latter.
2016-02-14 11:48:27 +01:00
Andrea Rendine 0f8a2ccfb6 Outfit update on Income
A very easy fix indeed. When Path is active, the outfit is updated on Income event. This way the "available" tooltip is reliable, increment/decrement buttons are activated/deactivated correctly and there is no risk of phantom resources.
2016-02-14 02:39:49 +01:00
Andrea Rendine 4032738d57 Code style
Tab in place.
2016-02-14 02:31:41 +01:00
Blake Grotewold 9943c4c568 add confirm hyper
lets the user know what hyper mode is, and confirms turning it on.
Updates .pot to match current source.
2015-12-22 16:41:10 -06:00
Michael Townsend c66d484627 Added import/export tracking 2015-12-04 10:57:16 -05:00
Continuities fba203cea1 conversion tweaks 2015-11-09 18:36:55 -05:00
Akai Alonkai 95057c9704 Made fur gambling return fur.
Function was paying out in wood, not fur, contrary to notification text.
2015-09-20 16:32:54 -04:00
Continuities a0b343246c Code style 2015-08-02 11:40:27 -04:00
Sebring 1e37f45530 Display time delay on total row in tooltip 2015-07-29 20:08:09 +02:00
Sebring fea54cd97f Add total to tooltip 2015-07-29 16:57:26 +02:00
Blake Grotewold 95cf44c2f2 Fix removeBranch function definition 2015-07-25 20:23:35 -04:00
Andrea Rendine 65d7cfd784 Hyper-proof cooldown state
Kept the distinction between "argument" time and script time. I called the latter "time" instead of "milliseconds" because, well, it's just tenth of seconds.
Residual timeout is always stored in "nominal" time, not adjusted by hyper. I.e. if a button has a nominal timeout of 60 seconds and half cooldown had expired on reload, residual is stored as 300. In cooldown, Engine.setInterval makes the time flow with double speed
2015-06-29 12:49:57 -04:00
Andrea Rendine 03fae08ff2 Compass relocation
This commit carries some changes.
* the compass is now a "special" item, not "good". It allows a different placing
* Store block is now divided into 2 parts. All the script is adapted to make room for it, including empty block check and insert animation for the new #store children divs
** Above: stackable storable items (resources), whose tooltip shows updated income/consumption rates
** Below: special storable items. As of now, it only contains the compass. Special block has a special style, with some distance from resources block if that one exists.
* Compass row has an empty tooltip which is filled in by World
2015-06-28 14:27:37 -04:00
Andrea Rendine 7208b845b1 Take all, take everything, leave if possible
Multiple fixes:
1. take all of a kind
2. take everything
3. if possible, leave
4. drop menu on hover
5. Same item not shown as drop option
2015-06-27 02:13:14 -04:00
Andrea Rendine da0d39b579 Check for delayed events
This triggers onload for all those events whose (possible) reward is registered with a time delay.
2015-06-27 01:43:09 -04:00
Andrea Rendine cb717b41d0 function for fire hut event and more
Effect of hut fire is associated with new Outside method .destroyHuts().
2015-06-27 00:44:26 -04:00
Andrea Rendine 358fe5fbcc Restore navigation property
Instead of a timed method to restore lx/rx navigation, a property will be set to true. In that case, the keyup method will not be executed, but it will restore navigation for further use.
2015-06-27 00:26:41 -04:00
wmassingham f94cfe2590 disable tab navigation during events (fixes #403) depends on @AndySky21's branch world-to-path 2015-06-27 00:26:40 -04:00
Andrea Rendine 08bd1c7caf Single letter representations for enemies
R wild animals (beast, birds, lizards, rats)
T mutated creatures (includes giant lizards)
E human enemies (old men, scavengers, thugs and squatters)
D armed human enemies (includes vigilantes, soldiers, snipers, commandos, veterans and chiefs)
2015-06-27 00:26:40 -04:00
SVS 1d2f95b561 Change the enemy labels 2015-06-27 00:26:40 -04:00
Andrea Rendine daf5de3973 Property for tab navigation
Added Engine.tabNavigation property. When true, it enables keyboard navigation to/from tabs. It is disabled on world and enabled some milliseconds after Path.onArrival(), so that when player returns s/he finds him/herself on Path tab instead of navigating.
2015-06-27 00:26:40 -04:00
Andrea Rendine 64a02c162c Modified command destination for save
Export dialog replaces selection dialog, rather than overlapping it.
Closing it exits the panel and returns to current game.
Aborting Import dialog returns the player to the selection screen, so that s/he can save before trying to load.
2015-06-26 23:49:30 -04:00