update copyrights and other minor stuff to deliantra
*** empty log message ***
*** empty log message ***
- implement archetype->instance as replacement for arch_to_object (better name?) - fix arrows merging with stuff on floor - fix level_for_item to read more clearfly, do not use drand48 and fix the random level generation when !level set. - splay arrow container in find_arrow (but searching containers is still borked?) - improve create_missile spell.
first round of infobox and c++-level channels
hopefully fix flaming aura for good this time
corretcly set owner afetr insert to fix new owner semantics
fix cure disease giving exp for the wrong skill
cleanup
cleanup
hopefully fix alchemy scroll bug
- make alchemy create pyrite not gold nuggets - use three types of "nuggets" - simplified alchemy code. - update the floorbox in do_remove, this fixes some issues and should simplify other code as well. besides, insert does it too, and it is cheap.
allow exploding thingy effect
very very preliminary, non-working sound framework
return 0 from name_to_material for unknown materials, to avoid unknown material message
- 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.
*** empty log message ***
implement beginning of gender support, asking at character creation, showing in who and perceive self
fixed create food spell a bit to have less dependency on archetype order
fix for horn of plenty and others
- 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
reorder stats ablity messages and add the remaining ones (even if not used yet).
update copyrights in server/*.C
- fix players frozen on movers - allow overriding of existing spells implement town portal: - new fields portasl_maap|x|y for regions - new ext town_portsla completelyx implementing it - some debugging code, some check code
remove superfluous/broken settings and related code - COZY_SERVER: enabled most msall adjustments, changed digestion formula to the original one, party member treament w.r.t. pets enforced. - PROHIBIT_PLAYERKILL: default - real_wiz: removed and enforced - create_home_portals: removed and enforced - casting_time: removed and forced to be off (was crashing anyways) - was_wiz flag removed and treated as off usually unless it was used in place of flag_wiz. - do not save or restore wiz, wizcast and wizpass flags.
- unrelated change, replace get_attr_value/set_attr_value by a nicer to use stat member function. should really replace the struct values by an array.
less artificial linebreaks
This is the first rough cut of the skill use system (use the STABLE tag). Details will likely change, and combat skills do not work very well, but it works quite well. Players no longer have a shoottype or range slots, instead, each player has these members: combat_skill/combat_ob the currently selected skill (and weapon) for direct attacks. ranged_skill/ranged_ob the currently selected ranged skill (and bow/spell/item) golem the currently-controlled golem, if any.
*** empty log message ***
need to learn c properly
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.
VERY EXPERIMENTAL - change the way archetypes and treasurelists are being loaded: - referring to a nonexisting treasurelist will create an empty one - referring to a nonexisting archetype will create an empty one - archetypes/treasurelists will overwrite any existing object of the same name. - net effect should be to allow reloading of archetypes and treasurelists at runtime at a later stage.
fixed sanctuary spell for floor-spell-effects and added my todo file to the cvs
- reduce default output-sync to less than a second - output-sync command now uses seconds as unit, not something users cannot even know. - lots of useless const adjustments.
- rewrote more face handling code - automatically send smooth faces, as the client will need them anyways and it makes little sense to wait for the client to axk for it. of course, gcfclient suffers from weird ordering problems again. - UP_OBJ_FACE was often abused in situations where other things changed, updated lots of spaces, probably more to be done. - update_smooth became so small that inlining it actually clarified the code. similar for update_space, which is not inlined for other reasons. - faces were not initialised properly - add versioncheck for face data - rewrite invisibility handling a bit: god finger etc. now makes you blink, blinking routine has changed to be less annoying and more useful while still indicating invisibleness.
nano-cleanups
uglyness prevails in fixing nekosan
- more fixes to spell alchemy: nuke /4 fix by GHJ, don't understand it, makes no sense
also limit generated value in spell alchemy to some level-dependent maximum.
*** empty log message ***
wait_for_tick in synchronously executed code. very, very bad idea
comments
more preperations for player eviction
""
added some copyrights
- word of recall activated the player indirectly - implement maptile->xy_find and xy_load - separate find and load, even on C level - generate map_leave/enter and map_change events even for tiled map changes (experimental) - implement mainloop freezeing by start/stop, not skipping ticks - no map updates when player !active
different interface design for c++/perl map handling, some random map framework
*** empty log message ***
preliminary snapshot check-in, DO NOT USE IN PRODUCTION SYSTEMS See the Changes file for details
- 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
do not set owner on created earthwalls so they save in maps (they are pretty important as defense on restarts, so that warrants a hack like this). also simplify the code a bit - seems to have been rather redundant.
- 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?)
- made state a per-client variable (that does not magically make state a per-client thing!) - rename player->socket to player->ns. its not a good name for "client", but it is an historical artifact, and better than "socket".
- minor cleanups - minor optimisations (in_player vs. is_player_inv) - added P_PLAYER map flag - some (dead) concept code
goofing around in vain, trying to find a generalisation for esrv*item
- rewrote most of the socket loop code - moved connection accept into tcp.ext - no evil socket copying anymore, needs more cleanups
further cleanups and oofication
added a needed abstraction
- more ooficiation - removed now superfluous remove calls
replace some function- by method-calls
remove golem_count, likely golems are destroyed late now
improved ordering and usefulness of map change events
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
- improve assign to prepend "..." - make more use of assign - implement op->debug_desc() and make some more use of it
indent
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
preventing hits of objects on a map by any effects if it is on a safe ground. this should prevent most harmful effects for items and players there (delta stuff that i didn't think of and couldn't find in the code).
expand initial tabs to spaces
nuke transports
intermediate check-in, per-object events work
get rid of esrv_map_scroll and MapNewmapCmd, map update will handle it automatically
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.