Add externalized emails

* Data -> Emails.xml contains both JA2 and JA2UB emails, which simplified things and we no longer need 4 different EmailSenderNameList.xml files either

* Gameinit.lua scripts have been switched over to use externalized emails
This commit is contained in:
Asdow
2026-01-03 17:31:33 +02:00
parent 8635181f0f
commit 42cc46f5ab
8 changed files with 654 additions and 810 deletions
@@ -1,264 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
In this file you can specifiy the "Subject" text of emails.
uiIndex = Each uiIndex represents a mail Subject
The uiIndex are mapped to specific lines in the EMAIL.EDT file
Name = The Name of the Subject
Each A.I.M merc has an entry here in the file, mapped to a specific uiIndex.
-->
<SENDER_LIST>
<NAME>
<!-- Mails from Enrico -->
<uiIndex>0</uiIndex>
<Name>Enrico</Name>
</NAME>
<NAME>
<!-- Mails from Psyich Pro Inc (IMP) -->
<uiIndex>1</uiIndex>
<Name>Psych Pro Inc</Name>
</NAME>
<NAME>
<!-- Mails from Help Desk -->
<uiIndex>2</uiIndex>
<Name>Help Desk</Name>
</NAME>
<NAME>
<!-- Mails from Psyich Pro Inc (IMP) -->
<uiIndex>3</uiIndex>
<Name>Psych Pro Inc</Name>
</NAME>
<NAME>
<!-- Mails from Speck -->
<uiIndex>4</uiIndex>
<Name>Speck</Name>
</NAME>
<NAME>
<!-- Mails from R.I.S -->
<uiIndex>5</uiIndex>
<Name>R.I.S.</Name>
</NAME>
<NAME>
<uiIndex>6</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>7</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>8</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>9</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>10</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>11</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>12</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>13</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>14</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>15</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>16</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>17</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>18</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>19</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>20</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>21</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>22</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>23</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>24</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>25</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>26</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>27</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>28</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>29</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>30</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>31</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>32</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>33</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>34</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>35</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>36</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>37</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>38</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>39</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>40</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>41</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>42</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>43</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>44</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>45</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<!-- Mails from M.I.S Insurance -->
<uiIndex>46</uiIndex>
<Name>M.I.S. Insurance</Name>
</NAME>
<NAME>
<!-- Mails from Bobby Rays -->
<uiIndex>47</uiIndex>
<Name>Bobby Rays</Name>
</NAME>
<NAME>
<!-- Mails from Kingpin -->
<uiIndex>48</uiIndex>
<Name>Kingpin</Name>
</NAME>
<NAME>
<!-- Mails from John Kulba -->
<uiIndex>49</uiIndex>
<Name>John Kulba</Name>
</NAME>
<NAME>
<!-- Mails from A.I.M. -->
<uiIndex>50</uiIndex>
<Name>A.I.M.</Name>
</NAME>
<NAME>
<uiIndex>51</uiIndex>
<Name>Miguel</Name>
</NAME>
<NAME>
<uiIndex>52</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>53</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>54</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>55</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>56</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>57</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>58</uiIndex>
<Name>None</Name>
</NAME>
</SENDER_LIST>
@@ -1,264 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
In this file you can specifiy the "Subject" text of emails.
uiIndex = Each uiIndex represents a mail Subject
The uiIndex are mapped to specific lines in the EMAIL.EDT file
Name = The Name of the Subject
Each A.I.M merc has an entry here in the file, mapped to a specific uiIndex.
-->
<SENDER_LIST>
<NAME>
<!-- Mails from Enrico -->
<uiIndex>0</uiIndex>
<Name>Enrico</Name>
</NAME>
<NAME>
<!-- Mails from Psyich Pro Inc (IMP) -->
<uiIndex>1</uiIndex>
<Name>Psych Pro Inc</Name>
</NAME>
<NAME>
<!-- Mails from Help Desk -->
<uiIndex>2</uiIndex>
<Name>Help Desk</Name>
</NAME>
<NAME>
<!-- Mails from Psyich Pro Inc (IMP) -->
<uiIndex>3</uiIndex>
<Name>Psych Pro Inc</Name>
</NAME>
<NAME>
<!-- Mails from Speck -->
<uiIndex>4</uiIndex>
<Name>Speck</Name>
</NAME>
<NAME>
<!-- Mails from R.I.S -->
<uiIndex>5</uiIndex>
<Name>R.I.S.</Name>
</NAME>
<NAME>
<uiIndex>6</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>7</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>8</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>9</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>10</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>11</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>12</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>13</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>14</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>15</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>16</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>17</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>18</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>19</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>20</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>21</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>22</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>23</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>24</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>25</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>26</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>27</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>28</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>29</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>30</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>31</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>32</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>33</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>34</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>35</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>36</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>37</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>38</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>39</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>40</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>41</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>42</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>43</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>44</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>45</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<!-- Mails from M.I.S Insurance -->
<uiIndex>46</uiIndex>
<Name>M.I.S. Insurance</Name>
</NAME>
<NAME>
<!-- Mails from Bobby Rays -->
<uiIndex>47</uiIndex>
<Name>Bobby Rays</Name>
</NAME>
<NAME>
<!-- Mails from Kingpin -->
<uiIndex>48</uiIndex>
<Name>Kingpin</Name>
</NAME>
<NAME>
<!-- Mails from John Kulba -->
<uiIndex>49</uiIndex>
<Name>John Kulba</Name>
</NAME>
<NAME>
<!-- Mails from A.I.M. -->
<uiIndex>50</uiIndex>
<Name>A.I.M.</Name>
</NAME>
<NAME>
<uiIndex>51</uiIndex>
<Name>Miguel</Name>
</NAME>
<NAME>
<uiIndex>52</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>53</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>54</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>55</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>56</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>57</uiIndex>
<Name>None</Name>
</NAME>
<NAME>
<uiIndex>58</uiIndex>
<Name>None</Name>
</NAME>
</SENDER_LIST>
+17 -3
View File
@@ -84,6 +84,15 @@ http://legion.itzg.pl/mzgb/pmwiki/pmwiki.php?n=JaggedAlliance2UBV1.Jav113lua
ubSender - uiIndex from SenderNameList.xml
iCurrentIMPPosition - Default = -1, or the profile ID of the IMP
iCurrentShipmentDestinationID - Default = -1, or the Bobby Ray shipment destination ID
- AddEmailFromXML (uiIndex, PreRead, iCurrentIMPPosition, iCurrentShipmentDestinationID, MoneyAmount, MercID, specialData)
uiIndex - Position of email in Emails.xml
PreRead - true/false whether the email shows up as already read or not. Default value is false.
iCurrentIMPPosition - Default = -1, or the profile ID of the IMP
iCurrentShipmentDestinationID - Default = -1, or the Bobby Ray shipment destination ID
MoneyAmount - Default = -1, or the value that replaces special string variable $AMOUN$.
MercID - Default = -1, or the merc ID that is used to replace the special string variable $MERCNAME$ with the merc name.
specialData3 - Default = -1, or the offset of a special email event data, such as IMP_EMAIL_INTRO, which will add IMP website to bookmarks after opening the email.
- HireMerc (MercID)
hires the merc with the specified MercID
@@ -903,12 +912,17 @@ function InitNewGame()
if ( is_networked == 0 ) then
--Add the initial email from enrico
AddEmail( EMAIL_STARTGAME, EMAIL_STARTGAME_LENGTH, Sender.MAIL_ENRICO, -1 , -1 )
--AddEmail( EMAIL_STARTGAME, EMAIL_STARTGAME_LENGTH, Sender.MAIL_ENRICO, -1 , -1 )
--Add the initial email from AIM
AddEmail( EMAIL_AIMDISCOUNT, EMAIL_AIMDISCOUNT_LENGTH, Sender.AIM_SITE, -1 , -1 )
--AddEmail( EMAIL_AIMDISCOUNT, EMAIL_AIMDISCOUNT_LENGTH, Sender.AIM_SITE, -1 , -1 )
AddEmail(IMP_EMAIL_INTRO,IMP_EMAIL_INTRO_LENGTH,Sender.CHAR_PROFILE_SITE, -1 , -1 )
--AddEmail(IMP_EMAIL_INTRO,IMP_EMAIL_INTRO_LENGTH,Sender.CHAR_PROFILE_SITE, -1 , -1 )
-- Using externalized emails instead of old .EDT data
AddEmailFromXML(49, false, -1, -1, -1, -1, IMP_EMAIL_INTRO) --Enrico help request
AddEmailFromXML(71, false, -1, -1, -1, -1, IMP_EMAIL_INTRO) --AIM offer email
AddEmailFromXML(64, false, -1, -1, -1, -1, IMP_EMAIL_INTRO) --IMP offer email
end