Commit Graph

979 Commits

Author SHA1 Message Date
c3143c3a6e Introduce scrollbar for the terrain palette in the scenario editor 2015-02-07 14:47:48 -05:00
965dcc1201 Add ability for an item to call a special node when dropped 2015-02-07 13:10:28 -05:00
00606d90b1 Well, that was incredibly dumb
(Fix scenario editor build)
2015-02-07 13:02:49 -05:00
ad4a211605 Move calc_day() into party class 2015-02-07 12:52:05 -05:00
2e88b55759 Add new type of item that gives a quest when picked up 2015-02-07 12:50:35 -05:00
dcdf5324e7 Include completed and failed quests in the list, with different styling
- Also fix quests not expiring after the deadline
2015-02-07 12:19:04 -05:00
7d65dba686 Make some things dynamically sized
- Also, this fixes events being completely broken
2015-02-07 11:19:45 -05:00
220c8bf76c Fix instant help resetting when you start a new game 2015-02-07 09:47:09 -05:00
f5a43bc011 More reduction of reliance on hard-coded limits 2015-02-07 09:46:51 -05:00
6d26d430b3 Some dialogue saving stuff
- Saved talk strings weren't loaded correctly from legacy saves
- Talk strings from special encounters weren't recordable
2015-02-06 23:12:28 -05:00
2cf301eece Reduce reliance on hard-coded limits 2015-02-06 23:00:29 -05:00
a14d3b5ff8 Combine town-shifting data into a single structure 2015-02-06 16:56:17 -05:00
f609711e27 Combine timer data into a single structure 2015-02-06 16:54:44 -05:00
c50e24b8e4 Turn sparse arrays into sets. 2015-02-06 15:37:55 -05:00
7307fee425 Change town locations variable name to better reflect its use 2015-02-06 14:55:37 -05:00
7f6992da56 Store sign locations and text in the same structure 2015-02-06 14:43:26 -05:00
efe03b977f Fix buffer overflow when charming/sleeping/paralyzing a level 40 monster 2015-02-06 13:46:53 -05:00
a1da743a47 Move scenario schemas to the schemas directory 2015-02-05 22:56:57 -05:00
e1babdef66 Tweak some proportions so that costs and info strings won't overlap in shops 2015-02-05 22:54:37 -05:00
7d67c0c85b Fix issue with calculating town lighting, and do it on load instead of save since the new format doesn't store it 2015-02-05 22:19:47 -05:00
089fa1a32b Bundle custom graphics into the scenario archive
- Also, allowance for custom sounds and overriding default graphics
2015-02-05 22:19:11 -05:00
1778cd9a61 Tweak scenario output and schema so that they match; write script to XML-validate a whole scenario 2015-02-05 22:18:19 -05:00
9cf65fab35 Misc little fixes 2015-02-05 17:33:37 -05:00
5bfae50315 Traits and races
- Vahnatai race implemented
- Pacifist trait implemented
- New trait: Anama - classified as a disadvantage but also has some perks
- PCs with bug race now immune to web fields
- PCs with undead/demon races now do that type of damage on unarmed attacks

The new races and traits probably still need some work/balancing.
2015-02-05 17:33:12 -05:00
aa938178ce Fix training dialog not functioning in the PC editor 2015-02-05 13:06:46 -05:00
e71ebdc895 Restore training dialog in-game help 2015-02-05 13:06:20 -05:00
e5792f1e09 Eliminate global variables from the training dialog 2015-02-05 02:07:08 -05:00
8d4cea7d0b Complete implementation of saving new-format scenarios and write version-check and loading stub for new-format scenarios 2015-02-04 19:48:31 -05:00
233a19175d Misc minor fixes
- Fix escape not ending shop mode
- Fix outdoor special spots not being drawn
- Fix special spots sometimes appearing off the edge of the sector in the scenario editor
2015-02-04 14:20:59 -05:00
36491c818c Implement a dialog to edit shops in the scenario editor 2015-02-04 13:55:22 -05:00
24a128b5b8 Check for party death before the victory handler instead of checking in the end scenario node
- This means killing the party after calling the end scenario node will give the death screen instead of the victory screen
- Reversing the order of the checks also makes it airtight in case of any future changes
2015-02-03 20:35:06 -05:00
05e64b4407 Add three new types of shop entries and implement support for limited stock in shops
- Random item of special class (works much the same as random item of treasure class)
- Specific item, with percentage chance
- Item whose purchase calls a special node
- Limited stock is only supported for standard items, optional items, and special node hooks
2015-02-03 20:32:34 -05:00
e5aadc05b1 Fix issue with zoomed-out views in the scenario editor sometimes trying to draw non-existent terrain spaces 2015-02-03 15:36:11 -05:00
2728b06f1a Finish implementation of creating a new scenario 2015-02-03 15:35:32 -05:00
fcd29fb2ac Fix scenario editor build and update data/docs regarding shop nodes 2015-02-03 13:53:03 -05:00
5140f54a23 Fix trying to place death stains (and crashing) if a PC dies outdoors 2015-02-03 11:15:27 -05:00
008248a947 Rewrite shops system to be more general
- Shops can now contain more than one type of item (for example, both mage and priest spells)
- Shops can now specify any talking portrait
- Healing options in a shop now have an info button giving a brief explanation (partly because it was easier than maintaining the exception)
- Additional healing option (not present in default healing shops): cure acid
- Acid is also no longer removed when you leave town or end combat (unless it's about to wear off)
- Always start shop mode with the scrollbar scrolled to the top
- Fix crash when entering an outdoor shop (and outdoor dialogue for that matter)
- Treasure generation system can now return junk items (treasure type 0), but only if explicitly requested; this is possible in shops but not with monsters since 0 means no loot

Dialog Engine:
- When setting a scrollbar's maximum, it now ensures the current position doesn't end up greater than the maximum
2015-02-03 11:15:26 -05:00
559663dd35 New special nodes to store/unstore PCs outside the party structure
- Stored PCs are lost when you leave the scenario
2015-02-02 14:18:30 -05:00
8d23bbc788 Move creature text member functions into general file
- This finally fixes the PC editor build
2015-02-02 12:44:39 -05:00
ea49a13ff8 Revert petrify to being handled by freestanding functions
- Also change kill/damage to take a player/monster reference instead of an index
2015-02-02 12:41:17 -05:00
1d733d081c Simplify the IF_CONTEXT special node so that new contexts don't need to be manually added 2015-02-02 11:47:22 -05:00
b11e934162 Rewrite automatic trim placement to use the generalized attributes of the terrain spaces 2015-02-02 11:38:40 -05:00
e70715874a Fix terrain drawing only working while zoomed out 2015-02-02 11:38:39 -05:00
7df8f84258 Fix a few missing switch cases 2015-02-02 11:38:39 -05:00
ae7c8e12db More removal of reliance on hard-coded limits 2015-02-02 11:38:39 -05:00
b4e82733a4 Hilite the terrain the mouse is over in the scenario editor so that you can tell which terrain will be affected when clicking, even in cases where it's not so obvious (for example when the cursor's hotspot is in an unexpected place). 2015-02-02 11:38:38 -05:00
0bfe08c0d9 Disable that one really annoying warning 2015-02-02 11:38:38 -05:00
a2ae288022 Remove the limit on the number of placed specials per town or outdoor sector 2015-02-02 11:38:38 -05:00
d42c4fff08 Alter boat specials fix to insert new special nodes if there's no unused ones, taking advantage of the fact that the lists of special nodes are now dynamically sized 2015-02-02 11:38:38 -05:00
eaeb9690c3 Remove the limits on the total number of special nodes in the game 2015-02-02 11:38:37 -05:00