consdierably reduce disease range modifier
fix cast curse w.r.t. head
*** empty log message ***
allow exploding thingy effect
fix crash problem
- unbundle marker code into force_find/force_add - use completely different (more efficient) speed logic - make those methods available to perl - to avoid numerical errors use an exact fp number for MIN_ACTIVE_SPEED.
- upgrade crossfire trt to the GPL version 3 (hopefully correctly). - add a single file covered by the GNU Affero General Public License (which is not yet released, so I used the current draft, which is legally a bit wavy, but its likely better than nothing as it expresses direct intent by the authors, and we can upgrade as soon as it has been released). * this should ensure availability of source code for the server at least and hopefully also archetypes and maps even when modified versions are not being distributed, in accordance of section 13 of the agplv3.
- inherit some flags from the head (probably should inherit everything, the whole object, but thats for later). this makes speed-relevant code faster and simpler.
un-insanify
- archetype is now a subclass of object. - store archetypes in an object_vector. - use a different startegy for archetype loading (reloading is MOST CERTAINLY broken).
rename arch->name to arch->archname for preparation of subclassing object
update copyrights in server/*.C
- fix oratory to correctly account to the oratory skill - change the unapply logic to be more careful (basically ignore skills as they get unapplied a lot)
- more rewrite: change_skill now only changes the chosen_skill, nothing else. new flag to suppress skill tool behaviour of readying the skill when applying the tool, for use in find_skill.
- do not require an item for the use magic item skill. thats because it is often used for "misc" objects such as scrolls, which do not get applied as ranged weapons. not requiring an item is not likely to be a big deal anyways.
some floatingpoint µopts
server crashed this morning because a freed golem tried to follow his owner, triggering the assertion failure. the golem had no owner, but the owner still had him in his range slots. I refactored a bit of the code and rearranged it to hopefully increase chances of this not occuring again.
*** empty log message ***
nano-cleanups
- add visibility_at to players (only), might/should be an object method - mood spells only affect visible spaces now.
comments
more preperations for player eviction
added some copyrights
- added maptile->insert and object->insert_at methods that might make code using it clearer. - replaced some insert_ob_in_map calls.
replace update_ob_speed by ->set_speed
- small, but subtle, rewrite of object management - perl will now keep attachable objects alive - objects are now refcounted - refcouts need to be tested explicitly (refcnt_chk) - explicit destroy is required current - explicit destroy asks "nicely" for the object to self destruct, if possible - refcounts will be used during mortal killing - minor bugfixes, optimisations etc. - some former hacks removed.
- preliminary check in, stuff is rudimentarily working - moved most of the player creation process into a perl coroutine - changed internal design of player management to not reuse and morph the object in funny ways. should be safer and much nicer to handle. - got rid of some annoying hacks, such as clear() (TODO: get rid of player_pod and other stuff now unnecessary?)
- minor cleanups - minor optimisations (in_player vs. is_player_inv) - added P_PLAYER map flag - some (dead) concept code
- remove recycle_tmp_maps setting (hardwired to true) - replace object->flags by std::bitset, seems to be way more efficient, for some unexplainable and not looked-into reason. its way cleaner, too...
further cleanups and oofication
added a needed abstraction
- more ooficiation - removed now superfluous remove calls
replace some function- by method-calls
mapstruct => maptile removed many ytypedefs in favor of structure tags
replace was_destroyed by much simpler and less expensive ->destroyed, which is valid, as objetc pointers are now reliable.
indent
cleanup
indent
indent
indent
Some cleanups.
THIS CODE WILL NOT COMPILE use the STABLE tag instead. - major changes in object lifetime and memory management - replaced manual refcounting by shstr class - removed quest system - many optimisations - major changes
expand initial tabs to spaces
intermediate check-in, per-object events work
removed P_SAFE_MAP and added P_SAFE as map flag set by an item with type SAFE_FLOOR (165)
added safe map and some checks over the code to make the maps really safe!
added a safe_map flag which prevents bad effects on maps that should be safe, like some shops and for example the trade shop in scorn.
Made server compile with C++. Removed cfanim plugin and crossedit. C++ here we come.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.