Welcome Board Archive - Code Updates 06.01.2019

From LegendMUD
Jump to: navigation, search
From: Lamia         Title: Code Updates 06.01.2019                  
Appends: 2          Posted On: Saturday, June 01 2019, 09:07AM
---------------------------------------------------------------------------
Code Updates (06.01.2019)

In this update:
* Minor Updates and bug fixes (but do read carefully)
* AC/Hit table changes
* Major night vision skill updates
* Major (impact) minor (amount of code) change to kick skill
* Minor scan skill update
* New ways to address objects by keywords
* Queue command
* Major fist fighting skill overhaul
* Pause command
* Timers in prompts
* New Feature: Skill timers
* Updates to first aid and field surgery
* group chant ("groupchant")

Minor Things
* Autoexits to housing rooms appear in {}'s. [n, {e}, s, w]
* 'reload' without any arguments will attempt to reload a gun/bow 
  you are holding (NOT in inventory) with the first proper ammo type 
  it finds in AUX slots or inventory.
* The global damage maximum for weapons striking armor has been
  reduced
* The ability to block a swing returns (it's been absent from the code 
  for a while)
* You can no longer put bonded items in donation boxes
* Increased base chance of tumbling out of a failed bash
* timers now sort by the time they have remaining (shortest to 
  longest)
* Timers can be viewed with the 'timers' command but they will also 
  now show in 'status'. The timers display has been removed from the 
  'attributes' display.

Bugs
* Strength calculation completely removed from the 'number of hands'
  formula
* Fixed a bug with backstab where level 50 backstabs damage was 
  being reduced in some rare circumstances
* Low level mobs were qualifying for all of the skills they didn't 
  have because of levels. That's been fixed. No more weapon-mastery 
  fomori, for instance.
* InnateReload preserves things like flaming arrows now.
* Line feed added to the innate defense skill when it goes off
* Lots of extraneous extra linefeeds were removed. if you want 
  extra line feeds, toggle 'blank'
  
AC/Hit Table Changes
* There's been (what I hope to be) a minor adjustment to the way 
  AC works... it's not easy to describe in plain english, but to 
  summarize, in many cases, AC wasn't being applied correctly. The net 
  result is mobs and players should both be hit less frequently. It 
  shouldn't be a huge change, but I'll keep my eye on it.

Night Vision
* Night Vision now has an active component.
* If you type 'nightvision,' it will toggle it on and off.
* This allows you to see completely in the dark, even in indoor rooms.
* The ability extends to 'scan' as well.
* It costs 30 mv to start, and will continue to use 30 mv every 9 seconds.
  When you're move runs out, it will continue, but your mv will keep
  returning to 0.
* Turning night vision on and off should not break hide.

Kick Skill
* The kick skill is now a 1-round lag fight skill. It does a little 
  more than half the damage it used to and is guaranteed to at least 
  do 5 points of damage, even at lower levels.

Scan
* Scan should no longer break hide, but will continue to break aim

Append 1 of 2 from Lamia  on Saturday, June 01 2019, 09:07AM
RE: Lamia          Title: Code Updates 06.01.2019                  
---------------------------------------------------------------------------
Code Updates (06.01.2019) (Continued)

Addressing items (2.<keyword, etc)
* A great deal of work has been done to improve this across the board
  and we rediscovered some features that hadn't made it into the help
  files ages and ages ago.
* Put/Get and most things that look for objects look for things in the 
  same order now. If nothing else, put/get and socials are all the same
* You're able to address things using multiple keywords now by joining 
  the keywords with the '+' character. Such as:
  
     get sword+short box
     
* The above works with numbers as well:

     get 2.sword+short box

* You can also specify an item by it's location by prefixing a location 
  on to the string ('equipment.', 'inventory.' and 'ground.':
 
     shake ground.box
    
* You can also use abbreviations of these ('eq.', 'inv.' and 'gr.'):
    
    shake inv.sword

* You can put all of these together:

    get 2.sword+short gr.3.box+lost+found

(This will get the second sword that has both sword and short 
 keywords, from the 3rd box on the ground that has all three 
     keywords (box, lost and found)

* There is a new config 'config indexkeywords' (off by default) that 
  allows you to address items with #.<keyword> and have it find that 
  item anywhere in the room searching what you're carrying first
  or the ground.

* Use the new 'INDEXKEYWORD <keyword>' command to see how you can 
  address various objects in the room (it can be shortened to 'index')
  It will show how to get at an object via where it is and the number or 
  via just a number.
  
* Otherwise item selection outside of get/put is the same as it was 
  before

Queue Command
*  You can queue a command that would normally be a fast command by 
   typing 'queue <command> [arguments]'. Works with regular commands as 
   well but that's just extra typing, honestly

Pause Command

Syntax: PAUSE # (places a wait of # seconds)
Syntax: PAUSE # seconds (see above)
Syntax: PAUSE # rounds (pauses a number of fight rounds, or 4.5 second
                        increments)
Syntax: PAUSE # pulses (pauses a number pulses or .25 second increments)

* You can pause up to 18 seconds total.
* The waits imposed by pause can never be halved by era abilities


Timers in prompts
  @#0 - timer expiring the soonest
  @#1 - timer expiring the next soonest
  @#2 - timer expering the third soonest

  * these will be empty strings if there isn't a timer for

Skill timers
* Skill timers are the ability to optionally use a re-use timer rather
  than suffer the full skill lag

* This imposes a 1-round skill lag after the skill, and a 2-round
  recycle timer (4.5 seconds and 9 seconds respectively)

* If you have an era ability that halves the wait time of a skill, it
  will still work on skill timer enabled skills. In the instance where
  an era ability would halve the skill lag, it applies half the full
  skill lag and does not apply a timer (so a first aid would simply have
  the 1-round skill lag)

* For the first implementation, ONLY first aid and surgery are capable
  of using this feature

* This can be changed for each individual skill with the SKILLTIMERS
  command:

  skilltimers set <skill name>

  ex:

  skilltimers set first aid

* To unset, use:

  skilltimers unset <skill name>

* To see a list of skills you are currently using with skill timers:

  skilltimers

* You can set all the available skill timer skills or unset them with
  a single command:

  skilltimers set all

  skilltimers unset all

Append 2 of 2 from Lamia  on Saturday, June 01 2019, 09:08AM
RE: Lamia          Title: Code Updates 06.01.2019                  
---------------------------------------------------------------------------
Code Updates (06.01.2019) (Continued)

Fist Fighting
* Fist Fighting is available to all hometowns with a required level 
  of 2.
* It adds bare-handed attacks (if you're not wielding a weapon) and 
  allows 4 special attacks (jab, cross, hook, uppercut)
* The number of bare-handed attacks is reduced for any TWO_HANDED 
  item you are holding (rifles, let's say) and SHIELD items (like the 
  book of laws, not like the shields that go on the arm)
* It has con and perc requirements but it is a STR/DEX skill.
* Damroll/hitroll are very important to the build
* Damage scales with the level of the fighter. 
* You can fist fight (use the special attacks) while you are wielding 
  a weapon, but you are less effective overall
* Each special attack is a 1-round lag and uses the highest of your 
  str or con. That number is compared to the defensive stat for that 
  special (Con, Str, Dex or Perc, and no I'm not telling you which is 
  which)
* Some specials do more damage, some are more likely to trigger combos
* When you trigger a combo, you make additional swings and have the 
  ability to daze an opponent
* SECONDARY_ATTACK ("cheese") work with barehanded fighting
* You can use fight fighting specials even if you are entranced 
  (the so called 'move like a butterfly, sting like a bee' code)
* Arcane mages must have autoattack off (not just be not wielding a 
  weapon) to have the benefits of arcane mastery

NOTE: This is an 'under construction' skill. It's not meant to prop 
up an entire character archetype by itself. Please note that any of the 
above might change.

Surgeons (first aid and field surgery)

With skill timers above, surgeons can better multi-task during run
or solo situations. Finish and operate and shoot, for instance,
without waiting the full skill lag of the last operate.

You can alternate operates and first aids to increase overall
healing over a 2-round period by the average of a first aid. Okay,
so it's not mind blowing, but it is better.

One of the topics that popped up in regards to this is how to still
queue up 30 first aids and go afk? Two ways: the first is to simply
disable the skilltimers for first aid (or all) before you queue up
the aids and then re-enable at it at the end, or use the new
pause command in between.

It's a small extra step (enabling/disabling), but the increased
flexibility might be worth it in the long run.

That being said, if you like the way surgery works now, you can
continue to play exactly that way, unchanged.


Group Chant
* Adds in a new command, available to those with chant: groupchant

* using this command by itself will list all spells that you can 
  cast that are eligible for groupchant.
  
* This casts a buff on every member of the group in the current room

* syntax is the same as chant (groupchant word word word ex) and it 
  will cast the spell on each member of the group

* group chanting costs 4x the mana of a normal skill and incurs a 
  wait 3 times as  long as the normal spell

* group chanted spells will never fail

* Most buffs have been made group chantable. Notable exceptions: 
  2 cause mana regen buffs. Also 'refresh' is group chantable.