* origin/master: (93 commits)
Add support for dictionary creation (#277)
Add do-while statement (#276)
Add foreach loops (#275)
New compiler: array initialization (#274)
Disambiguator: figure out if label is a case statement dispatch selector, or should apply to a statement within the case dispatch group's block. (#273)
New compiler: Add support for case statements (#272)
Change "logical" to "bitwise". (#258)
Fix divide-by-zero errors, and mask FormatError if it were thrown in a destructor. (#271)
Add break and continue statements. (#270)
New compiler: assignment to local and global variables. (#269)
Add support for while loops (#268)
Optimize if statements, and emit module functions in legacy order (#267)
Optimizations: binary operators (#266)
Add binary operators (#265)
Add support for const declarations (#264)
Handle default parameter values, pass-by-name, and return statements in functions. (#263)
Add limited support for user functions (#262)
New compiler: add return and exit statements (#261)
Add support for if-then-else statements (#259)
OG compiler: set module to Mod_Basic when a token is an identifier (#257)
...
* origin/master: (84 commits)
store skillid in the attributes if available
added docs for checkskill change
use the correct id as skillid
CheckSkill() accepts now also attribute name instead of skillid
Move StoredToken to its own cpp/h
Items can now be created with an assigned quality from an itemdescriptor (#161)
*** OG Compiler: decouple web script preprocessing from FileContents
fix optimizer bug: can stop optimizing prematurely if pre- or post-decrement operators are present
Fix a bug in the legacy compiler .ecl output
Move compiler to Legacy namespace
Allow discord notification to fail and still have a successful build. It will otherwise always fail on forks, because it needs a github secret.
Ensure textentry_uoemod is not overwritten
fixed potential out of bound read
escript_grammar.cmake from Turley
generated lib/EscriptGrammar from grammar
EscriptGrammar from escript-antlr repo commit ef133e3a3a3184936e93493c863b7b995cdf4737 (#162)
Incorporate ANTLR into the cmake build.
Fix luck mod being assigned to luck from itemdesc files Fixed swing speed increase being printed twice when saving items. Fixed spelling mistake in docs.
Style fix
- Fix up docs. - Change modifier calculation to correctly use double. - Change rounding calculation as per Turley's suggestion.
...
Authors are not forced to use the clang-format setting, but should
atleast be inspired by the style.
The only thing which is now not allowed are tabs for ident/alignment!
Currently plib/systemstate, pol/uvars, pol/ucfg, pol/multi/multidef
Next step should be to split them based on usage, since its currently a bit of include hell...
streamsaver: changed the writer to unique_ptr and move directly into queue
clienttransmit: move transmitdata directly into the queue
itemdesc: removed several external maps, added save_on_exit member
items: added pointer to itemdesc and use it directly
Added: (Tomi) chr priv "runwhilestealth" you can run while you are in stealth for as many stealthsteps you have
Added: (Tomi) new npcdesc entry "SaveOnExit" 0/1 ( defaults to 1 )
Note: this also means that SaveOnExit can be definied in the override_properties struct
Changed: vitals::ApplyDamage( mobile, damage, userepsys := DAMAGE_USE_REPSYS, send_damage := DAMAGE_USE_DEFAULT )
vitals::ApplyRawDamage( character, hits, userepsys := DAMAGE_USE_REPSYS, send_damage := DAMAGE_USE_DEFAULT )
const DAMAGE_NO_SHOW := 0;
const DAMAGE_SHOW := 1;
const DAMAGE_USE_DEFAULT := 2;
DAMAGE_USE_DEFAULT uses the SendDamagePacket setting from combat.cfg (Tomi)
Added: uo::SendOverallSeason( season_id, playsound := 1 )
Used to send the Season packet 0xBC to all clients logged on.
This function doesnt resend the lightlevel or weather after it sends season, that has to be done by scripts.
chr.setseason( season_id, playsound )
Used to send the Season packet 0xBC to a single character.
This method doesnt resend the lightlevel or weather after it sends season, that has to be done by scripts.
(Tomi)
Changed: (Tomi) uo::SpeakPowerWords( who, spellid, font := _DEFAULT_TEXT_FONT, color := _DEFAULT_TEXT_COLOR)
font, color like every speech function